class Solution2 {
    public int maxSubArray(int[] nums) {
        int len = nums.length ;
        int[] dp = new int[len] ;
         int max = nums[0] ; 
         dp[0] = nums[0] ; 
        for(int i=1 ; i < len ; i ++){
            dp[i] = Math.max(dp[i-1]+nums[i] , nums[i]); 
            max = Math.max(max, dp[i]);
        }
       return max ;
    }
}